package com.idea.dsl.model;

import lombok.Data;
import lombok.Builder;
import lombok.NoArgsConstructor;
import lombok.AllArgsConstructor;

import java.util.List;
import java.util.Map;

/**
 * 大模型请求模型
 */
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
public class ModelRequest {
    
    /**
     * 消息列表
     */
    private List<Message> messages;
    
    /**
     * 模型名称
     */
    private String model;
    
    /**
     * 最大token数
     */
    private Integer maxTokens;
    
    /**
     * 温度参数
     */
    private Double temperature;
    
    /**
     * 流式输出
     */
    private Boolean stream;
    
    /**
     * 其他参数
     */
    private Map<String, Object> additionalParams;
    
    /**
     * 消息模型
     */
    @Data
    @Builder
    @NoArgsConstructor
    @AllArgsConstructor
    public static class Message {
        /**
         * 角色 (system, user, assistant)
         */
        private String role;
        
        /**
         * 消息内容
         */
        private String content;
    }
}
